/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package stud.cp.core.plugins;

import java.math.BigInteger;

/**
 *
 * @author Morfant
 */
public interface PluginConst {

    /**
     * Имя переменной в реквесте, которая будет содержать описание ошибки.
     */
    public static final String ERROR_MESSAGE = "error_message";
    /**
     * Имя переменной в реквесте, которая описывает под действие для действия.
     */
    public static final String SUBACTION = "subaction";
    /**
     * Поддействие, которое позволяет получть список данных.
     */
    public static final String GET_LIST = "get_list";
    /**
     * Поддействие, которое позволяет получить список типов оружия.
     */
    public static final String GET_WEAPON_TYPE_LIST_PAGE = "get_weapon_type_list_page";
    /**
     * Поддействие, которое позволяет получить список свойств типа оружия.
     */
    public static final String GET_WEAPON_TYPE_PROPERTIES_LIST = "get_properties_list";
    /**
     * Поддействие, которое позволяет перейти на страницу добавления свойств к
     * типа оружия..
     */
    public static final String ADD_PROPERTIES_TO_WEAPON_TYPE_PAGE = "add_property_to_weapon_type_page";
    /**
     * Добавление свойств к типу оружия.
     */
    public static final String ADD_PROPERTIES_TO_WEAPON_TYPE = "add_property_to_weapon_type";
    /**
     * Поддействие, которое позволяет перейти на страницу исключения свойства из
     * типа оружия..
     */
    public static final String EXCLUDE_PROPERTY_FROM_WEAPON_TYPE_PAGE =
            "exclude_property_from_weapon_type_page";
    /**
     * Поддействие, которое позволяет исключить свойство из типа оружия.
     */
    public static final String EXCLUDE_PROPERTY_FROM_WEAPON_TYPE =
            "exclude_property_from_weapon_type";
    /**
     * Поддействие, которое запрашивает страницу редактировая.
     */
    public static final String GET_EDIT_PAGE = "get_edit_page";
    /**
     * Получить страницу просмотра.
     */
    public static final String GET_VIEW_PAGE = "get_view_page";
    /**
     * Поддействие, которое запрашивает страницу добавления.
     */
    public static final String GET_ADD_PAGE = "get_add_page";
    /**
     * Поддействие, которое запрашивает страницу удаления.
     */
    public static final String GET_DELETE_PAGE = "get_delete_page";
    /**
     * Поддействие, которое сохраняет данные.
     */
    public static final String SAVE_DATA = "save_data";
    /**
     * Поддействие, которое удаляет данные.
     */
    public static final String DELETE_DATA = "delete_data";
    /**
     * Поддействие, которые добавляет новые данные.
     */
    public static final String NEW_DATA = "new_data";
    /**
     * Поддействие, которое запрашивает страницу поиска.
     */
    public static final String SEARCH_PAGE = "search_page";
    /*
     * ------------------Типы оружия ----------------------
     */
    /**
     * Список типов оружия.
     */
    public static final String WEAPON_TYPES_LIST = "weapon_types_list";
    /**
     * ID типа оружия.
     */
    public static final String OBJECT_TYPE_ID = "object_type_id";
    /**
     * Название типа оружия
     */
    public static final String OBJECT_TYPE_NAME = "object_type_name";
    /**
     * Описание типа оружия.
     */
    public static final String OBJECT_TYPE_DESCRIPTION = "object_type_description";
    /**
     * Определение того, что объектный тип является классом и его объектов его типа создавать нельзя.
     */
    public static final String IS_OBJECT_TYPE_IS_CLASS="is_object_type_is_class";
    
    public static final String OBJECT_TYPE_PARENT_ID="object_type_parent_id";
    /**
     * Тип оружия
     */
    public static final String OBJECT_TYPE = "weapon_type";

    /*
     * ------------------ Группы свойств  ----------------------
     */
    /**
     * Список групп свойств.
     */
    public static final String PROPERTY_GROUPS_LIST = "property_group_list";
    /**
     * Имя группы атрибутов.
     */
    public static final String PROPERTY_GROUP_NAME = "property_group_name";
    /**
     * ID группы свойств.
     */
    public static final String PROPERTY_GROUP_ID = "property_group_id";
    /**
     * Группа атрибутов.
     */
    public static final String PROPERTY_GROUP = "property_group";

    /*
     * ------------------------- Свойства оружия ------------------
     */
    /**
     * Список свойств оружия.
     */
    public static final String PROPERTIES_LIST = "properties_list";
    /**
     * Имя свойства.
     */
    public static final String PROPERTY_NAME = "property_name";
    /**
     * ID свойства.
     */
    public static final String PROPERTY_ID = "property_id";
    /**
     * Набор ID свойств.
     */
    public static final String PROPERTIES_ID = "properties_id";
    /**
     * Свойство..
     */
    public static final String PROPERTY = "property";
    /*
     * ----------------Типы свойств оружия------------
     */
    /**
     * Список типов свойств оружия.
     */
    public static final String PROPERTY_TYPES_LIST = "property_types_list";
    /**
     * Тип свойства.
     */
    public static final String PROPERTY_TYPE = "property_type";
    /**
     * ID типа свойства.
     */
    public static final String PROPERTY_TYPE_ID = "property_type_id";
    /**
     * Тип свойства - текстовое.
     */
    public static final String TEXT_TYPE = "1";
    /**
     * Тип свойства - ссылка.
     */
    public static final String REFERENCE_TYPE = "2";
    /**
     * Тип свойства - список.
     */
    public static final String LIST_TYPE = "3";
    /*
     * -----------------Оружие--------------------
     */
    /**
     * Список оружия.
     */
    public static final String WEAPONS_LIST = "weapons_list";
    /**
     * ID оружия.
     */
    public static final String OBJECT_ID = "object_id";
    /**
     * Название оружия
     */
    public static final String WEAPON_NAME = "weapon_name";
    /**
     * оружия
     */
    public static final String WEAPON = "weapon";
    /**
     * Описание оружия.
     */
    public static final String WEAPON_DESCRIPTION = "weapon_description";

    /*
     * ------------------------Список значений--------------------------
     */
    /**
     * Список значений.
     */
    public static final String PROPERTY_VALUES_LIST = "property_values_list";

    /*
     * --------------------------Дефинишины для списочных атрибутов-------------------
     */
    /**
     * Список групп свойств.
     */
    public static final String LIST_VALUE_DEF_LIST = "list_value_def_list";
    /**
     * Имя группы атрибутов.
     */
    public static final String LIST_VALUE_DEF_NAME = "list_value_def_name";
    /**
     * ID группы свойств.
     */
    public static final String LIST_VALUE_DEF_ID = "list_value_def_Id";
    /**
     * Группа атрибутов.
     */
    public static final String LIST_VALUE_DEF = "list_value_def";

    /*
     * ---------------------Готовые значения-------------------------
     */
    /**
     * Список групп свойств.
     */
    public static final String LIST_VALUE_LIST = "list_value_list";
    /**
     * Имя группы атрибутов.
     */
    public static final String LIST_VALUE_VALUE = "list_valuef_value";
    /**
     * ID группы свойств.
     */
    public static final String LIST_VALUE_ID = "list_value_Id";
    /**
     * Группа атрибутов.
     */
    public static final String LIST_VALUE = "list_value";

    /*
     * =================JavaScript=================
     */
    public static final String ID_FOR_PROPERTY_TYPE_SELECTION = "ID_FOR_PROPERTY_TYPE_SELECTION";
    public static final String ID_FOR_PROPERTY_NAME = "ID_FOR_PROPERTY_NAME";
    public static final String ID_FOR_PROPERTY_GROUP = "ID_FOR_PROPERTY_GROUP";

    /*
     * ---------------------Значение свойств-------------------------
     */
    public static final String PROPERTY_VALUE_RESORSES = "PROPERTY_VALUE_RESORSES";
    public static final String REFERENCE_WEAPON_RESORSES = "REFERENCE_WEAPON_RESORSES";
    public static final String DEFAULT_REFERENCE_ID = "0";
    public static final String FORM_NAME = "SUBMITFORM";
    /**
     * Пользователь.
     */
    public static final String CURRENT_USER = "USER";
    /**
     * Зарпос на получение страницы авторизации.
     */
    public static final String GET_AUTHORIZATION_PAGE = "GET_AUTHORIZATION_PAGE";
    /**
     * Запрос на действие авторизации.
     */
    public static final String LOGIN = "LOGIN";
    /**
     * Действие при выходе из системы.
     */
    public static final String LOG_OFF = "LOG_OFF";
    /**
     * Имя пользователя.
     */
    public static final String USER_NAME = "USER_NAME";
    /**
     * Название типа пользователя.
     */
    public static final String USER_TYPE_NAME = "USER_TYPE_NAME";
    /**
     * Пароль.
     */
    public static final String USER_PASSWORD = "USER_PASSWORD";
    /**
     * ID пользователя.
     */
    public static final String USER_ID = "USER_ID";
    
    /**
     * ID пользователя, который в данный момент редактируется.
     */
    public static final String USER = "USER";
    /**
     * ID типа пользователя.
     */
    public static final String USER_TYPE_ID = "USER_TYPE_ID";
    /**
     * Список пользователей.
     */
    public static final String USERS_LIST = "USERS_LIST";
    /**
     * Список типов пользователей.
     */
    public static final String USER_TYPES_LIST = "USER_TYPES_LIST";
    /**
     * Тип пользователя - user
     */
    public static final String USER_TYPE_USER = "2";
    /**
     * Тип пользователя - admin
     */
    public static final String USER_TYPE_ADMIN = "1";
    /**
     * Список с историей.
     */
    public static final String HISTORY_LIST = "HISTORY_LIST";
    /**
     * Запрос на таблицу истории.
     */
    public static final String GET_HISTORY_PAGE = "GET_HISTORY_PAGE";

    /*
     * ======================= Пользовательские запросы ===========================
     */
    /**
     * Результат работы пользовательского запроса или отчет.
     */
    public static final String RESULT = "RESULT";
    /**
     * Получить страницу с числом пользователей по типам.
     */
    public static final String GET_USER_COUNT_BY_TYPE_PAGE = "GET_USER_COUNT_BY_TYPE_PAGE";
    /**
     * Запрос страницы с выбором пользователя.
     */
    public static final String GET_USER_SELECTOR_PAGE = "GET_USER_SELECTOR_PAGE";
    /**
     * Запрос старницы со списком изменений определенного пользователя.
     */
    public static final String GET_USER_CHAGE_SET_PAGE = "GET_USER_CHAGE_SET_PAGE";
    /**
     * Запрос старницы с выбором даты.
     */
    public static final String GET_DATE_SELECTOR_PAGE = "GET_DATE_SELECTOR_PAGE";
    /**
     * Запросы страницы со списком изменений определенной даты.
     */
    public static final String GET_CHANGE_SET_FOR_DATE_PAGE = "GET_CHANGE_SET_FOR_DATE_PAGE";
    /**
     * Запросы страницы с выбором группы.
     */
    public static final String GET_GROUP_SELECTOR_PAGE = "GET_GROUP_SELECTOR_PAGE";
    /**
     * Запрос страницы со свойствами, принадлежащими конкретной группе.
     */
    public static final String GET_PROPERTIES_FOR_GROUP_PAGE = "GET_PROPERTIES_FOR_GROUP_PAGE";
    /**
     * Запрос старинцы с числом оружия и типами для определенного свойства.
     */
    public static final String GET_WEAPON_COUNT_AND_TYPE_FOR_PROPERTY =
            "GET_WEAPON_COUNT_AND_TYPE_FOR_PROPERTY";
    /**
     * Запрос старницы на выбор свойства.
     */
    public static final String GET_PROPERTY_SELECTOR_PAGE =
            "GET_PROPERTY_SELECTOR_PAGE";
    /**
     * Запрос страницы со списочным выбором свойств.
     */
    public static final String GET_PROPERTY_LIST_SELECTOR_PAGE =
            "GET_PROPERTY_LIST_SELECTOR_PAGE";
    /**
     * Запрос старницы с типами оружия, содержащими в себе запрошенные свойства.
     */
    public static final String GET_WEAPON_TYPES_FOR_PROPERTIES =
            "GET_WEAPON_TYPES_FOR_PROPERTIES";
    /**
     * Запрос на выбор группы для выбора типов оружия по этой группе.
     */
    public static final String GET_GROUP_SELECTOR_FOR_WEAPON_PAGE =
            "GET_GROUP_SELECTOR_FOR_WEAPON_PAGE";
    /**
     * Типы оружия и количество экзепляров для группы свойств.
     */
    public static final String GET_WEAPON_COUNT_AND_TYPE_FOR_GROUP =
            "GET_WEAPON_COUNT_AND_TYPE_FOR_GROUP";
    /**
     * Выбранная дата.
     */
    public static final String SELECT_DATE = "SELECT_DATE";

    //Новые параметры

    /*
     * Константы базы данных.
     */
    public static final BigInteger USER_OBJECT_TYPE_ID = new BigInteger("1");
    public static final BigInteger PRODUCTS_OBJECT_TYPE_ID = new BigInteger("2");
    public static final BigInteger DISH_OBJECT_TYPE_ID=new BigInteger("3");

}
